package cn.fl.upgrade.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cmm.comm.facade.upgrade.dto.SysAppVerRuleDTO;
import cn.fl.upgrade.vo.SysAppVerRuleVO;

/**
 * @Description: 移动APP版本配置规则表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class SysAppVerRuleVOTransform {


    /**
     * DTO 转  VO
     * @param po SysAppVerRuleDTO
     * @return SysAppVerRuleVO
     */
    public static SysAppVerRuleVO toVO(SysAppVerRuleDTO dto) {
        SysAppVerRuleVO vo = null;
        if (dto != null) {
            vo = new SysAppVerRuleVO();
            vo.setId(dto.getId());
            vo.setCfgId(dto.getCfgId());//移动APP版本配置表id
            vo.setVerType(dto.getVerType());//类型
            vo.setVerRule(dto.getVerRule());//规则
            vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * VO 转 DTO
     * @param dto SysAppVerRuleVO
     * @return SysAppVerRuleDTO
     */
    public static SysAppVerRuleDTO toDTO(SysAppVerRuleVO vo) {
        SysAppVerRuleDTO dto = null;
        if (vo != null) {
            dto = new SysAppVerRuleDTO();
            dto.setId(vo.getId());
            dto.setCfgId(vo.getCfgId());//移动APP版本配置表id
            dto.setVerType(vo.getVerType());//类型
            dto.setVerRule(vo.getVerRule());//规则
            dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     * @param List<SysAppVerRuleDTO>
     * @return List<SysAppVerRuleVO>
     */
    public static List<SysAppVerRuleVO> toVOList(List<SysAppVerRuleDTO> list) {
        List<SysAppVerRuleVO> voList = new ArrayList<SysAppVerRuleVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SysAppVerRuleDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     * @param list List<SysAppVerRuleVO>
     * @return List<SysAppVerRuleDTO>
     */
    public static List<SysAppVerRuleDTO> toDTOList(List<SysAppVerRuleVO> list) {
        List<SysAppVerRuleDTO> dtoList = new ArrayList<SysAppVerRuleDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SysAppVerRuleVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
